跳到主要内容

DoE参数生成算法(Box Behnken)

组件名称Json键值
工具集设计分析优化
组件作者雪浪云-卡尔
文档版本1.0
功能基于Box Behnken设计点集合生成算法自动生成设计点
镜像名称suanpan_mdo:latest
开发语言Python

组件原理

  1. 基于Box Behnken设计点集合生成算法自动生成设计点;
  2. 加上design_id,批量发给仿真接口;
  3. 仿真接口每次返回一个design_id设计点结果,本节点再发送一个设计点给仿真接口,直到发送完毕。最后一次结束时再另外输出一个空的Json字符串:即{},通知其他组件发送完毕结束这个状态;

输入桩

输入端子1

  • 端口名称:待生成参数及取值范围;
  • 功能描述:接收优化问题定义,用于重新定义DoE参数生成算法组件的待生成(标定)参数及取值范围参数。即当右面板配置项“待生成(标定)参数及取值范围”为空时,需要至少收到一次本输入端子的输入给待生成(标定)参数及取值范围赋值。
  • 输入类型:对象;
  • 示例
{
"inputs": [
{"param": "length", "min": 0, "max": 2, "default": 1},
{"param": "width", "min": 0, "max": 2, "default": 1},
{"param": "height", "min": 0, "max": 2, "default": 1}
]
}

输入端子2

  • 端口名称:仿真结果;
  • 功能描述:仿真的结果或任意非空数据,仅作为触发使用,用于输出下一个仿真参数(即设计点);
  • 输入类型:对象;
  • 示例
{
"design_id": 3,
"Volume": 4.964462086375574,
"Surface": 17.542690545605996
}

输出桩

输出端子1

  • 端口名称:仿真参数;
  • 功能描述:仿真参数用于作为仿真接口组件的输入,其中包含design_id。每次输出后内部design_id累加1,最后一次结束时再另外输出一个空的Json字符串:即{},通知其他组件发送完毕结束这个状态;
  • 输出类型:对象;
  • 示例
{
"design_id": 3,
"length": 1.5918367346938775,
"width": 1.5918367346938775,
"height": 1.9591836734693877
}

数据接收方式

异步模式。

参数配置

待生成参数及取值范围 【参数】

  • 功能描述:待生成参数及取值范围【参数】,如果该参数不为空,则该参数可以替代输入桩子1(即“待生成参数及取值范围”)的作用,即此时无需输入桩子1也可以正常运行;
  • 必选参数:否;
  • 默认:空;
  • 示例
{
"inputs": [
{"param": "length", "min": 0, "max": 2, "default": 1},
{"param": "width", "min": 0, "max": 2, "default": 1},
{"param": "height", "min": 0, "max": 2, "default": 1}
]
}

并发数

  • 功能描述:首次发送的设计点数目,如其值为3,即首次启动时候连续发送3个design_id的参数点到仿真接口(仿真接口负责动态分配仿真实例运行3个设计点),仿真接口一次返回一个结果(A)设计点,本组件收到一个结果会再发送一个design_id的参数点给仿真接口;
  • 必选参数:否;
  • 默认:1;

中心值

  • 功能描述:生成的DoE所需要的中心点的个数,默认为1,例如输入可选范围是[0, 10, 20],中心值为1,则表示被选中的中心点个数为1,即数值为10的输入,一般无需关注该值;
  • 必选参数:否;
  • 默认:1;

image.png


运行调优

不建议进行特别配置,按照平台的默认分配运行。

使用方法

未部署状态下的操作步骤

后面板链接


image.png


右面板配置

  • 配置待生成参数及取值范围 【参数】,可默认为空;
  • 配置并发数,可默认为1;
  • 配置中心数,可默认为1;

image.png


部署状态下的操作步骤

前面板操作

在输入框中输入“待生成参数及取值范围”,可以观察输出:


image.png


应用本DoE方法生成的设计点如下:
2022-01-26 03:50:59{"design_id": 1, "length": 0.0, "width": 0.0, "height": 1.0}
2022-01-26 03:50:59{"design_id": 2, "length": 2.0, "width": 0.0, "height": 1.0}
2022-01-26 03:50:59{"design_id": 3, "length": 0.0, "width": 2.0, "height": 1.0}
2022-01-26 03:50:59{"design_id": 4, "length": 2.0, "width": 2.0, "height": 1.0}
2022-01-26 03:50:59{"design_id": 5, "length": 0.0, "width": 1.0, "height": 0.0}
2022-01-26 03:50:59{"design_id": 6, "length": 2.0, "width": 1.0, "height": 0.0}
2022-01-26 03:50:59{"design_id": 7, "length": 0.0, "width": 1.0, "height": 2.0}
2022-01-26 03:50:59{"design_id": 8, "length": 2.0, "width": 1.0, "height": 2.0}
2022-01-26 03:50:59{"design_id": 9, "length": 1.0, "width": 0.0, "height": 0.0}
2022-01-26 03:50:59{"design_id": 10, "length": 1.0, "width": 2.0, "height": 0.0}
2022-01-26 03:50:59{"design_id": 11, "length": 1.0, "width": 0.0, "height": 2.0}
2022-01-26 03:50:59{"design_id": 12, "length": 1.0, "width": 2.0, "height": 2.0}
2022-01-26 03:50:59{"design_id": 13, "length": 1.0, "width": 1.0, "height": 1.0}

弹窗操作

无。